﻿/*************************************************************************************

- CLR版本：        4.0.30319.42000
- 类 名 称：       Trigger
- 机器名称：       YTE
- 命名空间：       LD.Common
- 文 件 名：       Trigger
- 创建时间：       2022/7/1 13:54:14
- 作    者：       YTE
- 说   明：
- 修改时间：
- 修 改 人：
  *************************************************************************************/

namespace LD.Host
{
    public delegate void TriggerChangeHandle();
    public class UpTrigger
    {
        public event TriggerChangeHandle ChangeEvent;
        public bool Last { get; private set; }
        public bool CLK
        {
            set
            {
                V = value && !Last;

                if (V) ChangeEvent?.Invoke();

                Last = value;
            }
        }
        public bool V { get; private set; }
    }
    public class DownTrigger
    {
        public event TriggerChangeHandle ChangeEvent;
        public bool Last { get; private set; }
        public bool CLK
        {
            set
            {
                V = value && !Last;

                if (V) ChangeEvent?.Invoke();

                Last = value;
            }
        }
        public bool V { get; private set; }
    }
}
